package com.tedu.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import com.tedu.dao.DoorMapper;
import com.tedu.pojo.Door;

@Controller
public class DoorController {
	
	@Autowired
	private DoorMapper dao;
	
	/** 1、查询所有门店功能 */
	@RequestMapping("/doorList")
	public String doorList( Model model ) {
		//查询所有门店的集合
		List<Door> list = dao.findAll();
		System.out.println( list );
		//将门店集合存入Model中
		model.addAttribute("list", list);
		return "door_list";
	}
	
	/** 2、新增门店功能 */
	@RequestMapping("/doorAdd")
	public String doorAdd(Door door) {
		//调用添加门店的方法
		dao.addDoor(door);
		//添加成功后, 跳转回门店列表, 显示最新门店列表
		return "forward:/doorList";
	}
	
	
	/** 3、删除门店功能 */
	@RequestMapping("/doorDelete")
	public String doorDelete(Integer id) {
		dao.deleteById(id);
		return "forward:/doorList";
	}
	
	/** 4.1、根据id查询门店信息
	 * 		在修改门店信息之前, 需要根据id查询当前
	 * 		门店的详细信息, 再转发带到门店修改页面
	 * 		做一个数据的回显(显示在修改的输入框中)
	 */
	@RequestMapping("/doorInfo")
	public String doorInfo(Integer id, Model model) {
		System.out.println("111-------------"+id);
		//根据id查询门店信息
		Door door = dao.findById( id );
		//将门店对象存入model中
		model.addAttribute("door", door);
		//转发将门店对象带到门店修改页面进行数据的回显
		return "door_update";
	}
	
	/** 4.2、修改门店功能 */
	@RequestMapping("/doorUpdate")
	public String doorUpdate( Door door ) {
		//调用修改门店的方法
		dao.updateById( door );
		//重定向到查询所有门店方法, 显示最新门店列表
		return "redirect:/doorList"; 
	}
	
	/** 通用的页面跳转方法
	 * 通过变量接收浏览器发送的请求资源的名称
	 * 在方法中通过return再返回相同的名称
	 * 比如: 浏览器访问的路径为 /index, 最后方法返回的
	 * 		值就是 "index"
	 * 		如果浏览器访问的路径为 /door_list, 最后方法
	 * 		返回的值就是 "door_list"
	 * 		/doorDelete
	 * 		法
	 */
	@RequestMapping("/{pageName}")
	public String page(@PathVariable String pageName) {
		return pageName;
	}
	
}






